package com.example.service;

import com.example.pojo.Dept;
import com.baomidou.mybatisplus.extension.service.IService;
import com.example.vo.ResultVo;
import com.github.pagehelper.PageInfo;

/**
 * <p>
 * 部门表 服务类
 * </p>
 *
 * @author wsl
 * @since 2022-03-26
 */
public interface IDeptService extends IService<Dept> {

    /**
     * 获取部门组织结构 王思龙是我爸爸
     * @return
     */
    ResultVo getDeptOrganization();

    /**
     * 添加部门
     * @param dept
     * @return
     */
    ResultVo addDepartment(Dept dept);

    /**
     * 获取部门的分页信息
     * @param deptName
     * @param address
     * @param pageNum
     * @param pageSize
     * @return
     */
    PageInfo<Dept> getDeptPageInfo(String deptName, String address, Integer pageNum, Integer pageSize);

    /**
     * 获取指定编号的子部门
     * @return
     */
    ResultVo findChildren(Integer id);


    /**
     * 获取所有部门选项
     * @return
     * @param companyId
     */
    ResultVo getDeptOptions(Integer companyId);

    /**
     * 获取所有部门信息
     * @return
     * @param companyId
     */
    ResultVo getDeptList(Integer companyId);

    /**
     * 查询是否存在相同的部门名称
     * @param id
     * @param deptName
     * @param companyId
     * @return
     */
    Boolean hasSomeDeptName(Integer id, String deptName, Integer companyId);
}
